<?php
class User extends AppModel {
    public $name = 'User';
    public $validate = array(
        'username' => array(
            'required' => array(
                'rule' => array('notEmpty'),
                'message' => 'A username is required'
            )
        ),
        'email' => array('notempty', 
                'email' => array('rule' => '/^[A-Za-z0-9._%+-]+@([A-Za-z0-9-]+\.)+([A-Za-z0-9]{2,4}|museum)$/',
                'message' => 'Email obrigatório.'
                )
            ),
        'password' => array(
                'alphanumeric' => array(
                              'rule' => array('alphanumeric'),
                              'message' =>'A Senha deve possuir somente letras e números.',
                ),
                'minLength' => array(
                            'rule' => array('minLength', 6),
                            'message' => 'Sua senha precisa conter pelo menos 6 caracteres.'
                )
            ),
        'password_confirm'=>array(  
                'minLength' => array(
                            'rule' => array('minLength', 6),
                            'message' => 'Sua senha precisa conter pelo menos 6 caracteres.'
                ),
                'notempty' => array(
                            'rule' => array('notempty'),
                            'message' => 'Confirme sua Senha',
                            'allowEmpty' => false
                ),
                'compare' => array(
                            'rule' => array('password_match'),
                            'message' => 'Senha não corresponde'
                )
            ),
            'nome' => array(
                'required' => array(
                    'rule' => array('notEmpty'),
                    'message' => 'Nome de usuário obrigatório.'
                )
            ),
            'endereco' => array(
                'required' => array(
                    'rule' => array('notEmpty'),
                    'message' => 'Nome de usuário obrigatório.'
                )
            ),
            'cidade' => array(
                'required' => array(
                    'rule' => array('notEmpty'),
                    'message' => 'Nome de usuário obrigatório.'
                )
            ),
        'role' => array(
            'valid' => array(
                'rule' => array('inList', array('admin', 'author')),
                'message' => 'Please enter a valid role',
                'allowEmpty' => false
            )
        )
    );

    //hash da senha do banco
    public function beforeSave($options = array()) {
        if (isset($this->data[$this->alias]['password'])) {
            $this->data[$this->alias]['password'] = AuthComponent::password($this->data[$this->alias]['password']);
        }
        return true;
    }

     //confirma os passwords na view
        public function password_match(){
        
            $password = $this->data[$this->alias]['password'];
            $password_confirm = $this->data[$this->alias]['password_confirm'];
            
            if($password == $password_confirm){
                return true;
            }return false;
       
        } 

    
}
?>